1. Field of the Invention
The present invention relates to master/slave systems and methods of executing control programs for the systems and more particularly, to a master/slave system which comprises an electronic exchange and a plurality of slave devices such as various sorts of terminal units connected to the electronic exchange to generally manage and control the slave devices and which can efficiently store programs necessary for the management and control of the slave device and also to a control program executing method.
2. Description of the Related Art
FIG. 1 schematically shows an example of such master/slave systems wherein an electronic exchange is connected with various sorts of terminal units.
In FIG. 1, more in detail, an electronic exchange 10 is connected with terminal units 21, 22 . . . , and 2n including such a voice communication terminal as an electronic key telephone set, facsimile equipment and other data communication terminals. As illustrated, the electronic exchange 10 is connected to central office lines 30 (31 to 3m) as data exchange media with external apparatuses, and the electronic exchange 10 and the respective terminal units 21 to 2n are interconnected by means of internal communication lines 40 (41 to 4n) which are provided therebetween and are used also as power supply lines.
Explanation will be made as to the functions of respective components of the electronic exchange system by referring to FIG. 1.
The electronic exchange 10 as a master device includes trunk circuits 11 (111 to 11m) for performing data exchanging operation with the external apparatuses through the central office lines 30, line circuits 12 (121 to 12n) connected with the respective terminal units 21 to 2n through the internal communication lines 40 to perform transfer of various data between the line circuits and terminal units, and a switch network 13 provided between the trunk circuits 11 and line circuits 12 to perform logical connection/disconnection between these circuits (between the trunk circuits 11 and line circuits 12 or between the line circuits 12) as necessary. That is, the substantial data exchanging operation of the electronic exchange is carried out through the respective circuits.
The electronic exchange 10 also includes a CPU 14 for generally performing various sorts of management and control required for the electronic exchange 10 including the connection/disconnection control between the switch network 13 and CPU 14, the management of status of the respective terminal units, and the transmission/reception control of data in the data exchanging operation. The electronic exchange 10 further includes a ROM (read-only memory) 15, a RAM (random access memory) 16 and a magnetic disk (such as a hard disk, a floppy-disk unit, an opto-magnetic disk unit or the like) 17, in which such various sorts of programs and data necessary for the management and control of the CPU 14 are stored fixedly or on a random access basis.
Explanation will be directed to the respective terminal units as slave devices, in particular, to the first terminal unit 21. More specifically, the first terminal unit 21 includes a line circuit 211 which is connected to associated one 121 of the line circuits 12 of the electronic exchange 10 through associated one 41 of the internal communication lines 40 to perform transfer of various sorts of data between the first terminal unit 21 and electronic exchange 10, a CPU 212 which is connected to the line circuit 211 to perform various sorts of control over the respective constituent parts of the first terminal unit 21 including the control of data transmission and reception in the data transfer and the necessary status management of the respective constituent parts, and a ROM 213 and a RAM 214 in which various sorts of programs and data necessary for the management and control of the CPU 212 are stored fixedly or on a random access basis.
The first terminal unit 21 also includes a keyboard 215 to be directly operated by a user, a keyboard controller 216 for informing the CPU 212 of an operation data of the keyboard 215, a display 217 for visually indicating thereon such data as an operational guide, operational contents and so on of the terminal unit 21, and a display controller 218 for executing, in response to a command received from the CPU 212, the display control over the display 217.
Each of the other terminal units 22 to 2n has substantially the same basic arrangement as the first terminal unit 21 and the same parts as those in the first terminal unit 21 or parts having substantially equivalent functions in the first terminal unit 21 are denoted by the corresponding reference numerals. In practical applications, however, these terminal units 21 to 2n usually include dominantly different kinds of mixed terminal units which are different in hardware or software configuration or in operational specification, though they partly include identical kinds of terminal units which have the same configuration and function.
Such an electronic exchange system is based on the idea that the electronic exchange 10 as the master device generally controls all the terminal units as its slave devices and more specifically on the idea that the master device side controls all the control programs on the operation of the system to collectively perform updating of program versions, bug correction and so on. Thus, it is common practice that the electronic exchange system is arranged so that the electronic exchange 10 holds all the control programs including the control program of the electronic exchange 10 itself and the control programs of the respective terminal units and when each terminal unit requires its control program to start (become active), the electronic exchange 10 loads the control program into the associated terminal unit.
FIG. 2 shows such a conventional control program control technique as based on the above idea. In the drawing, the same or equivalent elements as or to those in FIG. 1 are denoted by the same or corresponding reference numerals and explanation thereof is omitted.
In FIG. 2, the electronic exchange 10 has a memory area 50 which corresponds to the virtual collection of respective memory areas of the ROM 15, RAM 16 and magnetic disk 17. The memory area 50 has such memory divisions (a) to (f) as shown in FIG. 2, as follows.
(a) IPL Area 50a:
Stores therein an IPL (initial program loader) as an initial start program of the electronic exchange 10 itself. This area is usually provided in the ROM 15.
(b) Exchanging Program Area 50b:
Stores therein programs necessary in the data exchanging operation of the electronic exchange 10. This area is usually provided in the RAM 16 or in the magnetic disk 17.
(c) First Terminal Control Program Area 50c1:
Stores there in all the control programs on the first terminal unit 21. This area is usually provided in the magnetic disk 17.
(d) Second Terminal Control Program Area 50c2:
Stores therein all the control programs on the second terminal unit 22. This area is usually provided in the magnetic disk 17.
(e) N-th Terminal Control Program Area 50cn:
Stores therein all the control programs on the n-th terminal unit 2n. This area is usually provided in the magnetic disk 17.
(f) Working Area 50d:
Preserved as the working area in executing various sorts of control and processing to temporarily store therein data and programs required every time. This area is usually provided in the RAM 16 or in the magnetic disk 17.
Another terminal unit, for example, the first terminal unit 21, as shown in FIG. 2, includes a ROM 213 having an IPL area 213a for storing therein an IPL of the terminal unit 21 itself, and a RAM 214 having a control program loading area 214a into which the control program stored in the first terminal control program area 50c1 is loaded from the electronic exchange 10. The RAM 214 also has a working area 214b for the terminal unit 21 itself.
Such a memory structure of the first terminal unit 21 is substantially the same as that of the second terminal unit 22 that is different in type from the first terminal unit. In particular, when it is desired to start the second terminal unit 22, the control program of the second terminal unit 22 stored in the second terminal control program area 50c2 is loaded from the electronic exchange 10 into the control program loading area 224a.
These first and second terminal units 21 and 22, after the corresponding control programs are loaded into the respective control program loading areas of the units, receive exchange services corresponding to the respective specifications of the terminal units in accordance with their own loaded control programs.
In this way, in the prior art system, all the control programs corresponding to the respective specifications of the terminal units are previously prepared on the side of the electronic exchange 10 as the master device so that, when each terminal unit as the slave device is started, the corresponding control program is separately supplied to the corresponding terminal unit. For this reason, even when different sorts of a plurality of slave devices are collectively connected to the single master device, the master device can provide reasonable, fine and delicate services to these slave devices.
Such a prior art system, however, which requires the master device to always secure a large memory area for the purpose of storing therein all the control programs of the respective slave devices, must enlarge, as a matter of course, the scale of memory unit configuration of the master device. Such a problem becomes more severe as the scale of the system is enlarged, i.e., as the number of slave devices to be connected to the master device is increased, and in an extreme case, the number of slave devices connectable in the system may be restricted merely by the capacity of the memory of the master device.
In addition, the prior art system has such a problem that, when it is required to rewrite the control programs for some reasons such as updating of program versions, bug correction and so on, all the control programs stored in the respective slave device control program areas of the master device (the first terminal control program area 50c1 to the n-th terminal control program area 50cn) must be correspondingly rewritten, thereby involving the troublesome program maintenance problem.